package com.e_manager.soft.emanager.service;

import com.e_manager.soft.emanager.entity.User;
import com.e_manager.soft.emanager.entity.parameter.UserEquipmentParameter;
import com.github.pagehelper.PageInfo;

/**
 * @author : lip[lip4051@163.com]
 * @create : 2018/3/13 0013 下午 2:51
 */
public interface UserService {
    /**
     * 创建用户信息
     *
     * @param user
     */
    void inserteUser(User user);

    /**
     * 通过用户登录名查询用户信息
     *
     * @param userName 用户登录名
     * @return User 用户信息
     * @see com.e_manager.soft.emanager.entity.User
     */
    User getByUserName(String userName);

    /**
     * 通过用户id查询用户信息
     *
     * @param id 用户id
     * @return User 用户信息
     * @see com.e_manager.soft.emanager.entity.User
     */
    User getByUserId(String id);

    /**
     * 通过用户登录名更新token和tokenTime
     *
     * @param user user信息
     */
    void updateUser(User user);

    /**
     * 忘记密码
     *
     * @param user
     */
    void updatePwd(User user);

    /**
     * 通过用户id查询用户信息
     *
     * @param id 用户id
     * @return User 用户信息
     * @see com.e_manager.soft.emanager.entity.User
     */
    User getByUserInfor(String id);

    /**
     * 获取紧急联系人列表
     *
     * @param userEquipmentParameter
     * @return
     */
    PageInfo<User> getUrgentUser(UserEquipmentParameter userEquipmentParameter);
}
